<!DOCTYPE html>
<html  lang="en" >
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, maximum-scale=5, viewport-fit=cover">
    <title>Git 学习笔记 | HulGodhel's Blog</title>
    <meta name="description" content="Git 学习 HulGodhel 于2020.04.24  从何而来 Linux 之父 Linus 在 1991 年创建开源的 Linux 操作系统之后，多年来依靠全世界广大热心志愿者的共同建设，经过长足发展，现已成为世界上最大的服务器系统。系统创建之初，代码贡献者将源码文件发送给 Linus，由其手动合并。这种方式维持多年后，代码量已经庞大到人工合并难以为继，于是深恶集中式版本控制系统的 Lin">
<meta property="og:type" content="article">
<meta property="og:title" content="Git 学习笔记">
<meta property="og:url" content="http://happylzyy.github.io/2020/06/06/git/index.html">
<meta property="og:site_name" content="HulGodhel&#39;s Blog">
<meta property="og:description" content="Git 学习 HulGodhel 于2020.04.24  从何而来 Linux 之父 Linus 在 1991 年创建开源的 Linux 操作系统之后，多年来依靠全世界广大热心志愿者的共同建设，经过长足发展，现已成为世界上最大的服务器系统。系统创建之初，代码贡献者将源码文件发送给 Linus，由其手动合并。这种方式维持多年后，代码量已经庞大到人工合并难以为继，于是深恶集中式版本控制系统的 Lin">
<meta property="og:locale" content="en_US">
<meta property="article:published_time" content="2020-06-06T06:00:00.000Z">
<meta property="article:modified_time" content="2020-06-06T15:31:07.533Z">
<meta property="article:author" content="Zhaoyang Liu">
<meta property="article:tag" content="git github">
<meta name="twitter:card" content="summary">

    
    <link rel="icon" href="/images/favicon.ico" type="image/x-icon">

    
<link rel="stylesheet" href="/css/common.min.css">



    
    
    
        <link href="//cdn.jsdelivr.net/npm/gitalk@1.4.0/dist/gitalk.min.css" rel="stylesheet">
    
    
        <link href="//cdn.jsdelivr.net/npm/lightgallery.js@1.1.3/dist/css/lightgallery.min.css" rel="stylesheet">
    
    
    
<link rel="stylesheet" href="/css/iconfont.min.css">

    
<meta name="generator" content="Hexo 4.2.1"></head>

    <body>
        <header class="header header-fixture">
    <div class="profile-search-wrap flex sm:block">
        
        
        <div class="profile sm:text-center md:px-1 lg:px-3 sm:pb-4 sm:pt-6">
            <a id="avatar" role="link" href="https://github.com/happylzyy" class="inline-block lg:w-16 lg:h-16 w-8 h-8 m-2" target="_blank" rel="noopener" rel="noreferrer" >
                <img src="https://www.gravatar.com/avatar/b92f7668d0c3b69074a6839e1167cbbb?s=128" class="rounded-full" alt="avatar">
            </a>
            <h2 id="name" class="hidden lg:block">Zhaoyang Liu</h2>
            <h3 id="title" class="hidden xl:block">Student &amp; Engineer</h3>
            
            <small id="location" class="hidden lg:block">
                <i class="iconfont icon-map-icon"></i>
                Qinhuangdao, China
            </small>
            
        </div>
        
        
<div class="search flex-1 flex lg:inline-block sm:hidden lg:px-4 lg:mt-2 lg:mb-4 lg:w-full">
    <form id="search-form" class="my-auto flex-1 lg:border lg:border-solid lg:border-gray-200">
        <div class="input-group table bg-gray-100 lg:bg-white w-full">
            <input id="search-input" type="text" placeholder="Search" class="inline-block w-full bg-gray-100 lg:bg-white">
            <span class="table-cell">
                <button name="search tigger button" disabled>
                    <i class="iconfont icon-search m-2"></i>
                </button>
            </span>
        </div>
    </form>
        
<script id="search-teamplate" type="text/html" data-path="/content.json">
    <div>
        <div class="search-header bg-gray-400">
            <input id="actual-search-input" model="keyword" ref="input" class="inline-block w-full h-10 px-2 py-1" placeholder="Search" type="text">
        </div>
        <div class="search-result bg-gray-200">
            {{#each searchPosts}}
            <a href="/{{ path }}" class="result-item block px-2 pb-3 mb-1 pt-1 hover:bg-indigo-100">
                <i class="iconfont icon-file"></i>
                <h1 class="result-title inline font-medium text-lg">{{ title }}</h1>
                <p class="result-content text-gray-600 text-sm">{{{ text }}}</p>
            </a>
            {{/each}}
        </div>
    </div>
</script>

</div>


        <button name="menu toogle button" id="menu-toggle-btn" class="block sm:hidden p-3" role="button" aria-expanded="false">
            <i class="iconfont icon-hamburger"></i>
        </button>
    </div>
    <nav id="menu-nav" class="hidden sm:flex flex-col">
        
        
            <div class="menu-item menu-home" role="menuitem">
                <a href="/.">
                    <i class="iconfont icon-home" aria-hidden="true"></i>
                    <span class="menu-title">Home</span>
                </a>
            </div>
        
        
            <div class="menu-item menu-archives" role="menuitem">
                <a href="/archives">
                    <i class="iconfont icon-archive" aria-hidden="true"></i>
                    <span class="menu-title">Archives</span>
                </a>
            </div>
        
        
            <div class="menu-item menu-categories" role="menuitem">
                <a href="/categories">
                    <i class="iconfont icon-folder" aria-hidden="true"></i>
                    <span class="menu-title">Categories</span>
                </a>
            </div>
        
        
            <div class="menu-item menu-tags" role="menuitem">
                <a href="/tags">
                    <i class="iconfont icon-tag" aria-hidden="true"></i>
                    <span class="menu-title">Tags</span>
                </a>
            </div>
        
        
            <div class="menu-item menu-repository" role="menuitem">
                <a href="/repository">
                    <i class="iconfont icon-project" aria-hidden="true"></i>
                    <span class="menu-title">Repository</span>
                </a>
            </div>
        
        
            <div class="menu-item menu-about" role="menuitem">
                <a href="/about">
                    <i class="iconfont icon-cup" aria-hidden="true"></i>
                    <span class="menu-title">About</span>
                </a>
            </div>
        
        
<div class="social-links flex sm:flex-col lg:hidden mt-5">
    
        <span class="social-item text-center">
            <a href="https://github.com/happylzyy" target="_blank" rel="noopener">
                <i class="iconfont social-icon icon-github"></i>
                <span class="menu-title hidden lg:inline">menu.github</span>
            </a>
        </span>
    
        <span class="social-item text-center">
            <a href="https://twitter.com/hulgodhel" target="_blank" rel="noopener">
                <i class="iconfont social-icon icon-twitter"></i>
                <span class="menu-title hidden lg:inline">menu.twitter</span>
            </a>
        </span>
    
</div>


    </nav>
</header>

        <section class="main-section">
            
    <main class="flex-1 px-4 py-12 md:px-5 lg:px-8 lg:py-4 relative min-h-screen">
    

    <article class="content article article-archives article-type-list" itemscope="">
        <header class="article-header">
            
    
        <h1 class="article-title text-lg" itemprop="name">
            Git 学习笔记
        </h1>
    



            <p class="article-meta mb-3 text-xs">
                <span class="article-date">
    <i class="iconfont icon-calendar-check"></i>
	<a href="/2020/06/06/git/" class="article-date">
	  <time datetime="2020-06-06T06:00:00.000Z" itemprop="datePublished">Jun 6</time>
	</a>
</span>

                
    <span class="article-category">
    <i class="iconfont icon-folder"></i>
    <a class="article-category-link" href="/categories/Git/">Git</a>
  </span>


                
    <span class="article-tags">
    <i class="iconfont icon-tag"></i>
    <a class="article-tag-link" href="/tags/Git/" rel="tag">Git</a>
  </span>


                <span class="_partial/post-comment"><i class="icon icon-comment"></i>
                    <a href="/2020/06/06/git/#comments" class="article-comment-link">
                        Comments
                    </a>
                </span>
                
    
        <span class="post-wordcount" itemprop="wordCount">Word Count: 2.2k(words)</span>
    
    
        <span class="post-readcount" itemprop="timeRequired">Read Count: 7(minutes)</span>
    


            </p>
        </header>
        <div class="marked-body article-body">
            <h1 id="Git-学习">Git 学习</h1>
<p>HulGodhel 于2020.04.24</p>
<hr>
<h2 id="从何而来">从何而来</h2>
<p>Linux 之父 Linus 在 1991 年创建开源的 Linux 操作系统之后，多年来依靠全世界广大热心志愿者的共同建设，经过长足发展，现已成为世界上最大的服务器系统。系统创建之初，代码贡献者将源码文件发送给 Linus，由其手动合并。这种方式维持多年后，代码量已经庞大到人工合并难以为继，于是深恶集中式版本控制系统的 Linus 选择了一个分布式商业版本控制系统 BitKeeper，不过 Linux 社区的建设者们可以免费使用它。BitKeeper 改变了 Linus 对版本控制的认识，同时 Linus 发现 BitKeeper 有一些不足，而且有个关键性的问题使之不能被广泛使用，就是不开源。</p>
<p>在 2005 年，BitKeeper 所在公司发现 Linux 社区有人企图破解它，BitKeeper 决定收回 Linux 社区的免费使用权。Linus 对此事调节数周无果，找遍了当时已知的各种版本控制系统，没有一个看上眼的，一怒之下决定自己搞一个。Linus 花了十天时间用 C 语言写好了一个开源的版本控制系统，就是著名的 Git。</p>
<p>2007 年旧金山三个年轻人觉得 Git 是个好东西，就搞了一个公司名字叫 GitHub，第二年上线了使用 Ruby 编写的同名网站 GitHub，这是一个基于 Git 的免费代码托管网站（有付费服务）。十年间，该网站迅速蹿红，击败了实力雄厚的 Google Code，成为全世界最受欢迎的代码托管网站。2018 年 6 月，GitHub 被财大气粗的 Microsoft 收购。2019 年 1 月 GitHub 宣布用户可以免费创建私有仓库。根据 2018 年 10 月的 GitHub 年度报告显示，目前有 3100 万开发者创建了 9600 万个项目仓库，有 210 万企业入驻。</p>
<p>Git是一个功能强大的分布式版本控制系统。</p>
<h2 id="怎么安装">怎么安装</h2>
<h3 id="Linux环境">Linux环境</h3>
<p>Linux环境下大多自带Git软件包，如果没有自带，可以通过软件包管理器安装。</p>
<p>我使用的系统发行版是Arch Linux，软件包管理器是pacman，对应的安装命令为<code>sudo pacman -S git</code>.</p>
<p>不同的发行版使用的软件包管理器可能不同：</p>
<ul>
<li>openSUSE				<code>sudo zypper install git</code></li>
<li>Debian/Ubuntu          <code>sudo apt-get install git</code></li>
<li>CentOS/Fedora        <code>sudo yum -i git</code></li>
</ul>
<h3 id="Windows环境">Windows环境</h3>
<p>到Git官网下载Git for Windows安装即可。</p>
<h3 id="MacOS环境">MacOS环境</h3>
<p>其实跟Linux环境差不多，大多自带Git，如果嫌自带Git版本太低，可以通过HomeBrew项目安装。</p>
<h2 id="基本操作">基本操作</h2>
<h3 id="查看Git-版本">查看Git 版本</h3>
<p><code>git --version</code></p>
<h3 id="克隆仓库">克隆仓库</h3>
<p><code>git clone [仓库地址]</code></p>
<h3 id="Git-仓库的三大区域">Git 仓库的三大区域</h3>
<p>Git本地仓库有三个区域：工作区、暂存区、版本区。</p>
<ul>
<li></li>
</ul>
<h3 id="查看仓库的状态">查看仓库的状态</h3>
<p>在仓库的主目录下执行命令<code>git status</code>。</p>
<h3 id="添加修改到暂存区">添加修改到暂存区</h3>
<p>增加新文件<code>git add [文件名]</code>。</p>
<p>如果对多个文件或目录进行了增删改，可以用命令<code>git add .</code>。</p>
<p>注意到，对目录内的文件进行更改，是对工作区的修改，而add命令是将修改添加到暂存区。</p>
<h3 id="撤销暂存区的修改">撤销暂存区的修改</h3>
<p>暂存区记录了修改，当然可以撤销，使用命令<code>git reset -- [文件名]</code>或<code>git rm --cached [文件名]</code>。</p>
<p>如果命令不带文件名，则默认撤销暂存区所有更改。</p>
<h3 id="查看修改详情">查看修改详情</h3>
<p><code>git diff</code>查看工作区更改。</p>
<p><code>git diff --cached</code>查看暂存区的全部更改。</p>
<h3 id="查看版本区的提交历史记录">查看版本区的提交历史记录</h3>
<p><code>git log</code></p>
<ul>
<li><code>git log [分支名]</code>查看某分支的提交历史，不写分支名即默认查看当前所在分支。</li>
<li><code>git log --oneline</code>一行显示提交历史。</li>
<li><code>git log -n</code>显示最近的n个提交。</li>
<li><code>git log --author [贡献者名字]</code> 查看指定贡献者的提交记录。</li>
<li><code>git log --graph</code>图示法显示提交历史。</li>
<li><code>git log --reverse</code> 倒序查看提交记录。</li>
</ul>
<h3 id="提交暂存区的修改">提交暂存区的修改</h3>
<p>执行<code>git commit</code>命令生成一个新的提交，必须带选项<code>-m</code>用来提供该提交的备注。</p>
<h3 id="查看分支信息">查看分支信息</h3>
<p><code>git branch -avv</code>可以用来查看全部的分支信息。</p>
<h3 id="将新增提交推送到远程仓库">将新增提交推送到远程仓库</h3>
<p><code>git push</code></p>
<h3 id="版本回退">版本回退</h3>
<ol>
<li>执行<code>git reset --soft HEAD^</code>可以撤销最近的一次提交，将修改还原到暂存区。</li>
<li><code>--soft</code>表示软退回，<code>--hard</code>表示硬退回。</li>
<li><code>HEAD^</code>表示撤销一次提交，每加一个^,倒退一个版本。<code>HEAD~n</code>表示退回n个版本。</li>
<li>版本回退之后再次提交的版本会与远程仓库版本冲突（提交时间线分叉），这种情况下也可以将本地推送到远程仓库，需要加<code>-f</code>选项。</li>
<li>基于commit ID 的回退<code>git reset --hard [ID]</code>。</li>
</ol>
<h3 id="本地仓库的变化记录">本地仓库的变化记录</h3>
<p><code>git reflog</code>可以查看本地仓库的每一次版本变化，可以通过commit ID回到任何位置。(如果不知道ID，可以使用<code>HEAD@{n}</code>回到最近n次提交版本变化前)</p>
<h2 id="Git-分支操作">Git 分支操作</h2>
<h3 id="添加SSH关联授权">添加SSH关联授权</h3>
<p>通过在系统中创建SSH公钥，并将公钥放到GitHub账户中用于本地Git授权。</p>
<p>终端执行<code>ssh-keygen</code>，得到公钥和私钥，位于home目录<code>.ssh</code>文件夹中。</p>
<h3 id="为Git命令设置别名">为Git命令设置别名</h3>
<p><code>git config --global alias.[别名] [原命令]</code></p>
<p>设置的别名可以用<code>git config -l</code>查看。</p>
<h3 id="分支管理">分支管理</h3>
<p><code>git fetch</code>可以将远程仓库的分支信息拉取到本地仓库（仅仅更新了本地的远程分支信息）。</p>
<p><code>git pull</code>命令可以将远程仓库的数据拉取到本地。</p>
<p><code>git rebase origin/master</code>使本地master分支基于远程仓库的master分支。</p>
<h3 id="创建分支">创建分支</h3>
<p><code>git branch -avv</code>查看本地分支信息。</p>
<p>执行<code>git branch [分支名]</code>可以创建新分支。</p>
<p><code>git checkout [分支名]</code>切换分支。</p>
<p><code>git checkout -b [分支名]</code>创建并切换分支。</p>
<p><code>git push [主机名] [本地分支名]:[远程分支名]</code>将本地分支推送到远程分支。</p>
<p>本地新创建的分支没有跟踪上游分支，<code>git branch --set-upstream [主机名/上游分支名] [本地分支名]</code>创建关联。</p>
<p>解除关联可以用<code>git branch --unset-upstream [分支名]</code>。</p>
<p>推送时即建立关联<code>git push --set-upstream [主机名] [本地分支名]</code>。</p>
<p>删除远程分支有两种方法：</p>
<ul>
<li><code>git push [主机名]:[远程分支名]</code>原理是将空分支推送到远程分支，结果是删除远程分支。</li>
<li><code>git push [主机名] --delete [远程分支名]</code></li>
</ul>
<p>删除本地分支<code>git branch -D [分支名]</code>。</p>
<p>本地分支改名<code>git branch -m [原分支名] [新分支名]</code>。</p>
<h2 id="GitHub多人协作">GitHub多人协作</h2>
<h3 id="忽略文件">忽略文件</h3>
<p><code>.gitignore</code>文件中存放需要忽略的文件，比如缓存文件、备份文件、环境文件等等。该文件可以在建立仓库时由GitHub设置生成。</p>
<p>忽略文件模板:<a href="https://github.com/github/gitignore" target="_blank" rel="noopener">https://github.com/github/gitignore</a></p>
<h3 id="开源许可证">开源许可证</h3>
<p>可以选择自己喜欢的许可证，注意跟法律有关。</p>
<h3 id="三个按钮">三个按钮</h3>
<ul>
<li>Watch：这是一个下拉按钮，可以选择对此仓库关注、不关注、忽略等。</li>
<li>Star：如果觉得这个仓库很好，就点击这个按钮送一颗星，在淘宝提供刷星业务之前，仓库获得的星越多表示该项目越优秀。</li>
<li>Fork：在别人的仓库中点此按钮会克隆一个完全一样的仓库到自己的账号中，包括所有分支、提交等，但不会克隆 issue，当此仓库发生版本变化，不会自动同步到克隆的仓库里，反之亦然。</li>
</ul>
<h3 id="增加合作者">增加合作者</h3>
<p>在仓库设置Manage access中增加合作者用户名，选择正确的用户，发送邀请邮件通知。</p>
<h3 id="添加issue">添加issue</h3>
<p>在组长仓库界面，可以添加一些项目任务或待解决的问题，即issue。可以指派一位或多位项目参与者来完成任务，同时GitHub会给被指派者发邮件提醒。</p>
<h2 id="Git-多人协作">Git 多人协作</h2>
<h3 id="克隆fork仓库">克隆fork仓库</h3>
<p>组员将组长的仓库fork一份给自己，然后在本地克隆这个的仓库。</p>
<h3 id="完成任务并推送到自己的仓库">完成任务并推送到自己的仓库</h3>
<p>每个issue都有一个编号，当完成任务后，执行提交命令时，备注开头加上<code>fix #n</code>。当组长仓库的commit中出现此字样时，对应的issue将自动关闭。</p>
<h3 id="Pull-Request-检查合并PR">Pull Request &amp; 检查合并PR</h3>
<p>Pull Request，即一个分支向另一个分支提出允许合并请求。提PR既可以在仓库内，也可以跨仓库。</p>

        </div>
        

    </article>
    
    <section id="comments">
        

        
    </section>


    

</main>


<aside style="" id="sidebar" class="aside aside-fixture">
    <div class="toc-sidebar">
        <nav id="toc" class="article-toc">
            <h3 class="toc-title">Catalogue</h3>
            <ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#Git-学习"><span class="toc-number">1.</span> <span class="toc-text">Git 学习</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#从何而来"><span class="toc-number">1.1.</span> <span class="toc-text">从何而来</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#怎么安装"><span class="toc-number">1.2.</span> <span class="toc-text">怎么安装</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#Linux环境"><span class="toc-number">1.2.1.</span> <span class="toc-text">Linux环境</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Windows环境"><span class="toc-number">1.2.2.</span> <span class="toc-text">Windows环境</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#MacOS环境"><span class="toc-number">1.2.3.</span> <span class="toc-text">MacOS环境</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#基本操作"><span class="toc-number">1.3.</span> <span class="toc-text">基本操作</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#查看Git-版本"><span class="toc-number">1.3.1.</span> <span class="toc-text">查看Git 版本</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#克隆仓库"><span class="toc-number">1.3.2.</span> <span class="toc-text">克隆仓库</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Git-仓库的三大区域"><span class="toc-number">1.3.3.</span> <span class="toc-text">Git 仓库的三大区域</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#查看仓库的状态"><span class="toc-number">1.3.4.</span> <span class="toc-text">查看仓库的状态</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#添加修改到暂存区"><span class="toc-number">1.3.5.</span> <span class="toc-text">添加修改到暂存区</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#撤销暂存区的修改"><span class="toc-number">1.3.6.</span> <span class="toc-text">撤销暂存区的修改</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#查看修改详情"><span class="toc-number">1.3.7.</span> <span class="toc-text">查看修改详情</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#查看版本区的提交历史记录"><span class="toc-number">1.3.8.</span> <span class="toc-text">查看版本区的提交历史记录</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#提交暂存区的修改"><span class="toc-number">1.3.9.</span> <span class="toc-text">提交暂存区的修改</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#查看分支信息"><span class="toc-number">1.3.10.</span> <span class="toc-text">查看分支信息</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#将新增提交推送到远程仓库"><span class="toc-number">1.3.11.</span> <span class="toc-text">将新增提交推送到远程仓库</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#版本回退"><span class="toc-number">1.3.12.</span> <span class="toc-text">版本回退</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#本地仓库的变化记录"><span class="toc-number">1.3.13.</span> <span class="toc-text">本地仓库的变化记录</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Git-分支操作"><span class="toc-number">1.4.</span> <span class="toc-text">Git 分支操作</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#添加SSH关联授权"><span class="toc-number">1.4.1.</span> <span class="toc-text">添加SSH关联授权</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#为Git命令设置别名"><span class="toc-number">1.4.2.</span> <span class="toc-text">为Git命令设置别名</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#分支管理"><span class="toc-number">1.4.3.</span> <span class="toc-text">分支管理</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#创建分支"><span class="toc-number">1.4.4.</span> <span class="toc-text">创建分支</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#GitHub多人协作"><span class="toc-number">1.5.</span> <span class="toc-text">GitHub多人协作</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#忽略文件"><span class="toc-number">1.5.1.</span> <span class="toc-text">忽略文件</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#开源许可证"><span class="toc-number">1.5.2.</span> <span class="toc-text">开源许可证</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#三个按钮"><span class="toc-number">1.5.3.</span> <span class="toc-text">三个按钮</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#增加合作者"><span class="toc-number">1.5.4.</span> <span class="toc-text">增加合作者</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#添加issue"><span class="toc-number">1.5.5.</span> <span class="toc-text">添加issue</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Git-多人协作"><span class="toc-number">1.6.</span> <span class="toc-text">Git 多人协作</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#克隆fork仓库"><span class="toc-number">1.6.1.</span> <span class="toc-text">克隆fork仓库</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#完成任务并推送到自己的仓库"><span class="toc-number">1.6.2.</span> <span class="toc-text">完成任务并推送到自己的仓库</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Pull-Request-检查合并PR"><span class="toc-number">1.6.3.</span> <span class="toc-text">Pull Request &amp; 检查合并PR</span></a></li></ol></li></ol></li></ol>
        </nav>
    </div>
</aside>





        </section>
        <footer class="hidden lg:block fixed bottom-0 left-0 sm:w-1/12 lg:w-1/6 bg-gray-100 z-40">
    
    <div class="footer-social-links">
        
            <a href="https://github.com/happylzyy" target="_blank" rel="noopener">
                <i class="iconfont icon-github"></i>
            </a>
        
            <a href="https://twitter.com/hulgodhel" target="_blank" rel="noopener">
                <i class="iconfont icon-twitter"></i>
            </a>
        
    </div>
    
    
</footer>

        <div id="mask" class="hidden mask fixed inset-0 bg-gray-900 opacity-75 z-40"></div>
        <div id="search-view-container" class="hidden shadow-xl"></div>
        
<script src="/js/dom-event.min.js"></script>

<script src="//cdn.jsdelivr.net/npm/yox@1.0.0-alpha.121/dist/standard/prod/yox.min.js"></script>


<script src="/js/search.min.js"></script>


    <script src="//cdn.jsdelivr.net/npm/gitalk@1.5.2/dist/gitalk.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/blueimp-md5@2.10.0/js/md5.min.js"></script>
<script type="text/javascript">
    var gitalk = new Gitalk({
        clientID: '595d6049487da2d9c45b',
        clientSecret: '6a59a1d4a49d8b5960e9de716cf905f31b2ebe0d',
        repo: 'happylzyy.github.io',
        owner: 'happylzyy',
        admin: ['happylzyy'],
        id: md5(location.pathname),
        distractionFreeMode: true
    })
    gitalk.render('comments')
</script>



    <script src="//cdn.jsdelivr.net/npm/lightgallery.js@1.1.3/dist/js/lightgallery.min.js"></script>
    
<script src="/js/light-gallery.min.js"></script>





    </body>
</html>
